import axios from "./axios";
import store from "../store/index";
import wx from 'weixin-js-sdk'

//微信分享
function getJSSDK(wxShareObj) {

  // 清除授权登录参数
  let urlPath = window.location.href.split('#')[0];

  let params = new URLSearchParams();
  params.append('address', urlPath);
  axios.post('/zk/api/wechat/getParameter', params)
    .then(res => {
      console.log(wxShareObj);
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: res.data.data.appId,
        timestamp: res.data.data.timestamp, // 必填，生成签名的时间戳
        nonceStr: res.data.data.nonceStr, // 必填，生成签名的随机串
        signature: res.data.data.signature, // 必填，签名
        jsApiList: [ // 必填，需要使用的JS接口列表
          'updateAppMessageShareData', //分享微信朋友
          'updateTimelineShareData', //分享朋友圈
          'onMenuShareAppMessage', //分享微信朋友
          'onMenuShareTimeline', //分享朋友圈
        ]
      });
      wx.ready(() => {
        wx.updateAppMessageShareData({ //分享微信朋友
          title: wxShareObj.title, // 分享标题
          desc: wxShareObj.text, // 分享描述
          // link: "http://jxt-68.unionnetwork.com/sharedetail?id=7035&userId=212&tableId=756&shareId=212", // 用来分享的链接 + 传入过来的分享链接
          link: store.state.shareUrl + wxShareObj.getShareUrl, // 用来分享的链接 + 传入过来的分享链接
          imgUrl: wxShareObj.img, // 分享图标
          type: '', // 分享类型,music、video或link，不填默认为link
          success: function () { //用户分享成功
            console.log('微信分享成功');
          },
          cancel: function () { //用户分享失败  用户取消分享后执行的回调函数
            console.log('微信分享失败');
          }
        });
        wx.updateTimelineShareData({ //微信朋友圈
          title: wxShareObj.title, // 分享标题
          link: store.state.shareUrl + wxShareObj.getShareUrl, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: wxShareObj.img, // 分享图标
          success: function () { //用户分享成功
            console.log('微信朋友圈分享成功');
          },
          cancel: function () { //用户分享失败  用户取消分享后执行的回调函数
            console.log('微信朋友圈分享失败');
          }
        })

        //旧版分享
        wx.onMenuShareAppMessage({
          title: wxShareObj.title, //分享标题
          desc: wxShareObj.text, //分享描述
          link: store.state.shareUrl + wxShareObj.getShareUrl, //分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: wxShareObj.img, //分享图标
          type: '', //分享类型,music、video或link，不填默认为link
          dataUrl: '', //如果type是music或video，则要提供数据链接，默认为空
          success: function () { //用户分享成功
            console.log('微信分享成功');
          },
          cancel: function () { //用户分享失败  用户取消分享后执行的回调函数
            console.log('微信分享失败');
          }
        });
        wx.onMenuShareTimeline({ //分享朋友圈
          title: wxShareObj.title,
          link: store.state.shareUrl + wxShareObj.getShareUrl,
          imgUrl: wxShareObj.img,
          success: function () { //用户分享成功
            console.log('微信朋友圈分享成功');
          },
          cancel: function () { //用户分享失败  用户取消分享后执行的回调函数
            console.log('微信朋友圈分享失败');
          }
        });
      })
      wx.error((err) => {
        console.log(err);
      })
    })
    .catch(err => {
      console.log(err);
    })
}

// 分享时微信顶部title
// 通过动态创建iframe，设置相应的样式属性，并在iframe中增加一张图片
// 使其在每次创建的时候都会去加载这张图片，然后立即删除这个iframe，
// 做这个目的就是为了微信重新去更新相应的一些属性，然后触发document.title的change事件，将新的title的值替换。
function setTitle(title) {
  document.title = title;
  let iframe = document.createElement('iframe');
  iframe.style.visibility = 'hidden';
  iframe.style.width = '1px';
  iframe.style.height = '1px';
  iframe.src = '//m.baidu.com/favicon.ico';
  iframe.onload = function () {
    setTimeout(function () {
      iframe.remove();
    }, 10);
  };
  document.body.appendChild(iframe);
}
export default {
  getJSSDK,
  setTitle
}